#ifndef _PM_PROJECT_HPP_
#define _PM_PROJECT_HPP_

#include <string>

/*---------------------------------------------------------------------------*/

namespace ProjectManager {

	struct Flow;

/*---------------------------------------------------------------------------*/

struct Project
{
/*---------------------------------------------------------------------------*/

	virtual ~Project() {}

	virtual const std::string& getName() const = 0;

	virtual void setName( const std::string& _name ) = 0;

	virtual Flow& createFlow( const std::string& _name ) = 0;

	virtual int getFlowsCount() const = 0;

	virtual const Flow& getFlow( int _idx ) const = 0;

/*---------------------------------------------------------------------------*/

};

/*---------------------------------------------------------------------------*/

} // namespace ProjectManager

/*---------------------------------------------------------------------------*/

#endif // _PM_PROJECT_HPP_
